A domain name system (DNS) is a system that stores information associated with hostnames in a distributed database on networks, such as the Internet. In particular, the DNS system associates hostnames with corresponding Internet Protocol (IP) addresses. A set of hostnames belonging to an organization can be grouped into a domain by associating each of the hostnames of the organization with a common domain name. In this manner, DNS allows hard to remember IP addresses to be associated with easy to remember hostnames and/or domain names.
When a user of a computing device executes a client application, such as a web browser or email account, and makes a request that necessitates a DNS lookup, the client application sends a DNS lookup that includes a hostname to a DNS caching server. The DNS server retrieves the IP address associated with the hostname contained in the lookup. The DNS server returns the IP address to the client application, which uses the IP address to service the user's action.
Virtual private networks (VPNs) are often used to securely share data over a public network, such as the Internet. For example, a service provider may utilize VPN appliances to provide VPN services to customers. A customer, such as an enterprise that includes multiple geographically separated sites, each site including one or more computing devices, may establish a VPN to allow the computing devices to securely communicate through the Internet or another public network. In some situations, different customers may use the same hostnames to refer to computing devices within their respective VPNs. For example, an administrator of a first VPN may assign a hostname “exchange” to its mail exchange server and an administrator of a second VPN may assign the hostname “exchange” to its mail exchange server. Thus, to supply DNS services to customer VPNs, the service provider often maintains logically separate DNS servers for each of the customer VPNs in order to provide the proper IP addresses corresponding to common hostnames.